import dayjs from 'dayjs';

export const dateTime = (value: any, formatParam?: string | undefined) => {
  let format;
  if (!formatParam) {
    format = 'YYYY-MM-DD';
  } else {
    switch (formatParam) {
      case 'ymd':
        format = 'YYYY-MM-DD';
        break;
      case 'ymdhm':
        format = 'YYYY-MM-DD HH:mm';
        break;
      case 'ymdhms':
        format = 'YYYY-MM-DD HH:mm:ss';
        break;
      case 'hm':
        format = 'HH:mm';
        break;
      case 'hms':
        format = 'HH:mm:ss';
        break;
      case 'ymd-cn':
        format = 'YYYY年MM月DD日';
        break;
      case 'md-cn':
        format = 'M月D日';
        break;
      case 'ymdhm-cn':
        format = 'YYYY年MM月DD日 HH:mm';
        break;
      case 'ymdhms-cn':
        format = 'YYYY年MM月DD日 HH:mm:ss';
        break;
      case 'ymd-i':
        format = 'YYYY/MM/DD';
        break;
      case 'ymd-ddhm':
        format = 'YYYY/MM/DD dddd HH:mm';
        break;
      case 'ymd-dd':
        format = 'YYYY/MM/DD dddd';
        break;
      case 'md-dd-cn':
        format = 'M月D日 dddd';
        break;
      default:
        format = formatParam;
        break;
    }
  }
  const momentObj = dayjs(value);
  if (momentObj.isValid()) {
    return momentObj.format(format);
  }
  return value;
};
